Производительность JavaScript Array в V8. ⎡perf:5⎦

Описание к видео Производительность JavaScript Array в V8. ⎡perf:5⎦

Разберем основные аспекты, влияющие на производительность работы с JavaScript Exotic Object Array в V8:
1) Какие существуют виды Array на уровне внутренней реализации V8
2) Что такое holes
3) Что такое slots
4) Что такое Fast or Dictionary Elements
5) Что такое Elements Transitions
6) Аллокация слотов при увеличении количества элементов
7) Аллокация слотов при уменьшении количества элементов
8) К каким последствиям приводят вызовы Array(), new Array(), Array.from, Array literal

Таймкоды:
00:00:00 Музыка
00:02:39 Мнение Тучи про Java и про Python
00:06:39 Начало - проблематика
00:08:20 PACKED и HOLEY
00:10:40 SMI, DOUBLE, ELEMENTS
00:21:45 Dictionary elements
00:27:20 Промежуточные итоги по вышесказанному
00:30:15 Что такое slot
00:31:05 Что происходит при увеличении длины Array
00:40:55 Что происходит при уменьшении длины Array
00:48:05 Особенности поведения методов Array в плоскости Slots
00:52:05 Вопрос о том что быстрее push или fill
00:54:00 Пример поведения Array при уменьшении его длины
00:56:20 Что такое COW у Array или Copy on write
01:04:55 Почему Array типа SMI значительно быстрее чем Array из ELEMENTS
01:17:40 Гипотеза о том, что переход к Dictionary требует непрерывного числа hole
01:29:50 Резюме вышесказанного
01:34:10 Вопросы/ответы


AsForJs новости в Telegram: https://t.me/AsForJavaScript
AsForJs Talks в Telegram: https://t.me/AsForJsTalks

Поддержать маленького бородатого JavaScript-ра
Карта Приват: 5168745021397333

USDT Tron (TRC20): TKoZu59WHiX6L6qvwYTYTsZJerDrnAHBTx
USDT etherium (erc20): 0x75fb8a62dfcf453b2e73f1ef1c407d46f918fffa
TON: UQAGXvuhxg3qU0eFgOxtdDlKXqdp1zPq6yCRSRbRYQClxOzH
bitcoin:bc1q74aru82v4d3alay7p53jdwkmxe4a5gz7fmvfm2?message=AsForJS&time=1686349743

PayPal: [email protected]
  / demimurych  
Boosty: https://boosty.to/asforjs


Слайды: https://docs.google.com/presentation/...

Комментарии

Информация по комментариям в разработке